// const config1 = {
//   development: {
//     common: "http://localhost:4020",
//     fl: "http://localhost:4001",
//     base: "http://localhost:4000",
//   },
//   production: {
//     common: "/fl",
//     fl: "/common",
//     base: "/base",
//   },
// };

// const config = require("./appConfig.json");

// /**
//  *
//  * @param {string} name
//  * @returns
//  */
// module.exports.remoteApp = function remoteApp(name) {
//   const url = config[name];

//   return `promise new Promise((resolve) => {
//       const app = ${JSON.stringify(name)};      
//       const url = ${JSON.stringify(url)};
  
//       const script = document.createElement("script");
//       script.src = url;      
//       script.onload = () => {
//         const proxy = {
//           get: (request, r) => {
//             return window[app].get(request)
//           },  
//           init: (arg, r) => {
//             return window[app].init(arg);
//           },
//         };
//         resolve(proxy);
//       };
//       document.head.appendChild(script);
//     })`;
// };

/**
 *
 * @param {string} appName
 * @param {string} pathPrefix
 * @returns
 */
module.exports.generateRemote = function generateRemote(appName, pathPrefix) {
  return `promise new Promise(function (resolve, reject) {
    var app = ${JSON.stringify(appName)}
    var prefix = ${JSON.stringify(pathPrefix)}
    var proxy = {
      get: function get(request) {
        var path = request.slice(1)
        return window[app].get(prefix + path)
      },
    }
    resolve(proxy);
  })`;
};
